--[[
Author: GGELUA
Date: 2023-11-08 21:33:34
Last Modified by: GGELUA
Last Modified time: 2023-11-09 11:14:59
--]]
--[[
Author: GGELUA
Date: 2023-07-05 16:55:33
Last Modified by: GGELUA
Last Modified time: 2023-08-10 22:32:07
--]]
local 基类 = require("界面/控件层/基类/物品基类")
local 物品格子 = class("物品格子", 基类)
function 物品格子:初始化(当前)
  self.py = {x = 0, y = 0}
  self.当前=当前
  self.物品禁止 = false
end

function 物品格子:置物品(数据, 背景, 类型,mc)
  self.物品 = nil
  self.确定 = nil
  self.物品禁止 = false
  if 数据 and 0 ~= 数据.名称 then
    self:取数据(数据)
    for n, v in pairs(数据) do
      self.物品[n]=v
    end
    local 返回值 = 取同名物品(self.物品.名称, self.物品.子类, self.物品.类型, self.物品.等级)
    if not 判断是否为空表(返回值) then
      self.物品.资源 = 返回值[5] or 返回值[1]
      self.物品.小模型资源 = 返回值[2]
      if 返回值[5] then
        self.物品.url = 返回值[1]
        self.物品.小模型资源 = 返回值[4]
      end
      self.物品.大模型资源 = 返回值[3]
      if 返回值[6] then
        self.物品.pyz = 返回值[6] --动态
      end
    end
    local nsf = require("SDL.图像")(240, 55)
    if nsf:渲染开始() then
      if "白格子" == 背景 then
        __res:getPNGCC(3, 132, 506, 55, 55):显示(0, 0)
      end
      __res:取图像(__res:取地址("shape/dj/", self.物品.小模型资源)):显示(0, 0)
      if self.物品.数量 and 类型~="无需显示数量" then
        字体18:置颜色(__取颜色("白色"))
        字体18:取描边图像(self.物品.数量):显示(0, -5)
      end
      if self.物品.名称 == "魔兽要诀" or self.物品.名称 == "超级魔兽要诀" or self.物品.名称 == "高级魔兽要诀" or self.物品.名称 == "特殊魔兽要诀" then
        字体14:置颜色(__取颜色("白色"))
        字体14:取描边图像(self.物品.附带技能):显示(0, 35)
      end
      if mc then
        字体16:置颜色(0,0,0)
        if 数据.重点 then
          if  类型 == "已收购网格" then
            字体16:取图像(数据.重点):显示(56, 0)
            字体16:取图像(数据.名称):显示(56, 20)
            字体16:取图像(数据.单价):显示(156, 20)
          else
            字体16:取图像(数据.名称.."("..数据.重点..")"):显示(56, 20)
          end
        else
          字体16:取图像(数据.名称):显示(56, 20)
        end
      end
      nsf:渲染结束()
    end
    self.小模型 = nsf:到精灵()
  elseif "白格子" == 背景 then
    self.小模型 = __res:getPNGCC(3, 132, 506, 55, 55):到精灵()
  end
  self.格子类型 = 类型
end

function 物品格子:详情打开(x, y, w, h, lx, bh)
  local Button, Button2, Button3, Button4
  if "灵饰" == lx then
    Button = "卸下"
  elseif "背包共享道具"==lx then
    Button = "存入"  
  elseif "共享道具" == lx then
    Button = "取出"  
  elseif "装备" == lx then
    Button = "卸下"
  elseif "饰品" == lx then
    Button = "卸下"
  elseif "锦衣" == lx then
    Button = "卸下"
    Button2= "升级"
  elseif "宝宝进阶1" == lx then
    Button = "使用"
  elseif "宝宝进阶2" == lx then
    Button = "取下"
  elseif "道具" == lx then
    if 2 ~= self.物品.总类 and ((self.物品.分类 and self.物品.分类 <= 12) or self.物品.总类 == 147 or 106 == self.物品.总类) then
      Button = "使用"
      Button2 = "丢弃"
      Button3 = "移动"
      -- Button4 = "丢弃"
    elseif 2 == self.物品.总类 and self.物品.分类 <= 6 then
      Button = "使用"
      Button2 = "丢弃"
      Button3 = "移动"
      Button4 = "符石"
    elseif 2 == self.物品.总类 and self.物品.分类 > 6 then
      Button = "使用"
      Button2 = "丢弃"
      Button3 = "移动"
      -- Button4 = "丢弃"
    else
      Button = "使用"
      Button2 = "丢弃"
      Button3 = "移动"
      -- Button4 = "丢弃"
    end
  elseif "选择" == lx then
  elseif "法宝" == lx then
    Button = "移动"
  elseif "装备法宝" == lx then
    Button = "卸下"
  elseif "装备灵宝" == lx then
    Button = "卸下"
  end
  if "宝宝进阶1" == lx or "宝宝进阶2" == lx then 
    多开数据[当前 or self and self.当前].__UI弹出.bb进阶详情:置可见( true, true)
    多开数据[当前 or self and self.当前].__UI弹出.bb进阶详情.道具文本:清空() 
    if self.物品.名称=="高级清灵仙露" or self.物品.名称=="中级清灵仙露" or self.物品.名称=="初级清灵仙露" then
       多开数据[当前 or self and self.当前].__UI弹出.bb进阶详情:打开(self.物品, x, y, 360, 360, Button, Button2, Button3, Button4, bh, lx)
    else
       多开数据[当前 or self and self.当前].__UI弹出.bb进阶详情:打开(self.物品, x, y, 360, 360, nil, nil, nil, nil, bh, lx)
    end
    return
  end
  多开数据[当前 or self and self.当前].__UI弹出.道具详情:置可见(true, true)
  多开数据[当前 or self and self.当前].__UI弹出.道具详情.道具文本:清空()
  多开数据[当前 or self and self.当前].__UI弹出.道具详情:打开(self.物品, x, y, 360, 360, Button, Button2, Button3, Button4, bh, lx)
end

function 物品格子:置偏移(x, y)
  self.py = {x = x, y = x}
end

function 物品格子:显示(x, y)
  if self.小模型 then
    self.小模型["显示"](self.小模型, x + self.py.x, y + self.py.y)
  end
  if self.确定 and (self.格子类型 == "道具行囊" or self.格子类型 == "道具仓库" or self.格子类型 == "商会道具"  or self.格子类型 == "道具选择" or self.格子类型 == "临时背包" or self.格子类型 == "奖励网格") then
    多开数据[self.当前].__主控.道具选中大:显示(x, y)
  elseif self.确定 and (self.格子类型 == "战斗道具" or self.格子类型 == "收购道具" or self.格子类型 == "已收购网格") then
    多开数据[self.当前].__主控.道具选中小:显示(x, y)
  end
  if self.物品禁止 then
    多开数据[self.当前].__主控.物品格子禁止:显示(x + 13, y + 13)
  end
end

return 物品格子
